#ifndef BODYPARTRIGIDTRIANGLEMESH_H
#define BODYPARTRIGIDTRIANGLEMESH_H

#include "bodypart_rigid.h"
#include "BulletCollision/Gimpact/btGImpactShape.h"
#include "src/common/be_obj_loader.h"
#include "src/utils/texturestore.h"
#include "src/common/be_model_system.h"

using namespace std;

class BodypartRigidTrianglemesh : public BodypartRigid
{
	public:
		BodypartRigidTrianglemesh(btVector3* gVertices, unsigned int numVertices, int* gVIndices, unsigned int numVIndices, boost::shared_ptr<btDynamicsWorld> ownerWorld, void* owner, float weight, btVector3& localInertia, const btTransform& transform, const BeColor& clr, float lin_damping, float ang_damping);
		BodypartRigidTrianglemesh(boost::shared_ptr<Model> model, boost::shared_ptr<btDynamicsWorld> ownerWorld, void* owner, const btVector3& scale, float weight, btVector3& localInertia, const btTransform& transform, const BeColor& clr, float lin_damping, float ang_damping);
 
		virtual ~BodypartRigidTrianglemesh();

	private:
		boost::shared_ptr<btTriangleIndexVertexArray> trianglemodel;
// 		btTriangleIndexVertexArray* trianglemodel;	//TODO: make boost::smart_ptr

};
#endif
